<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>东阳交通事故管理系统--案件管理</title> 
	<%@ include file="/pages/common/common.jsp" %>	
    <script type="text/javascript">
    jQuery(function($){
		$('#gridTable').datagrid({
			title:'案件列表', //标题
			method:'post',
			iconCls:'icon-edit', //图标
			singleSelect:false, //多选
			height:360, //高度
			fitColumns: true, //自动调整各列，用了这个属性，下面各列的宽度值就只是一个比例。
			striped: true, //奇偶行颜色不同
			collapsible:true,//可折叠
			url:"${ctx}/case/query.adm", //数据来源
			sortName: 'caseNo', //排序的列
			sortOrder: 'desc', //倒序
			remoteSort: true, //服务器端排序
			idField:'idBgt', //主键字段
			queryParams:{}, //查询条件
			nowrap:false,
			pagination:true, //显示分页
			rownumbers:true, //显示行号
			columns:[[
				{field:'ck',checkbox:true,width:2}, //显示复选框
				{field:'caseNo',title:'案件编号',width:45},
				//{field:'alarmName',title:'报警人',width:25},
				//{field:'alarmPhone',title:'报警人电话',width:35},
				{field:'alarmDate',title:'报警时间',width:45},
				//{field:'alarmType',title:'报警类型',width:30},
				//{field:'alarmWay',title:'报警方式',width:30},
				{field:'tamsDeptByOutDept',title:'出警单位',width:30,
					formatter:function(value,row,index){
						if(row.tamsDeptByOutDept)
							return row.tamsDeptByOutDept.deptName;
						else
							return '<span class="red">暂未指定</span>';
					}
				},
				{field:'tamsPersonByOutPerson',title:'出警人',width:30,
					formatter:function(value,row,index){
						if(row.tamsPersonByOutPerson)
							return row.tamsPersonByOutPerson.personName;
						else
							return '<span class="red">暂未指定</span>';
					}
				},
				/**
				{field:'dealType',title:'处理类型',width:30,
					formatter:function(value,row,index){
						switch(value){
							case ${status.CASE_DEAL_NO}:
								return '尚未处理';
								break
							case ${status.CASE_DEAL_COMMON}:
								return '<span style="color:blue">一般程序</span>';
								break;
							case ${status.CASE_DEAL_SIMPLE}:
								return '<span style="color:green">简易程序</span>';
								break;
							case ${status.CASE_DEAL_NOPLACE}:
								return '<span style="color:green">无现场</span>';
								break;
							case ${status.CASE_DEAL_CONSLUT}:
								return '<span style="color:green">协商解决</span>';
								break;
							case ${status.CASE_DEAL_QUICK}:
								return '<span style="color:green">快速处理</span>';
								break;
							case ${status.CASE_DEAL_GOAWAY}:
								return '<span style="color:red">逃逸</span>';
								break;
						}
					}	
				},
				{field:'checkType',title:'审批状态',width:30,
					formatter:function(value,row,index){
						switch(value){
							case ${status.CHECK_TYPE_NO}:
								return '尚未提交';
								break
							case ${status.CHECK_TYPE_WAIT}:
								return '<span style="color:red">等待审批</span>';
								break;
							case ${status.CHECK_TYPE_PASS}:
								return '<span style="color:green">审批通过</span>';
								break;
							case ${status.CHECK_TYPE_REJECT}:
								return '<span style="color:blue">审批拒绝</span>';
								break;
						}
					}
				},
				*/
				{field:'caseAddress',title:'案发地址',width:60},
				{field:'caseContent',title:'案件概述',width:100,
					styler:function(value,row,index){
						return 'height:50px';
					}
				},
				{field:'remark',title:'出警情况',width:100}
				
			]],
			toolbar:[{
				text:'受理',
				iconCls:'icon-add',
				handler:function(){
					addrow();
				}
			},'-',{
				text:'更新',
				iconCls:'icon-edit',
				handler:function(){
					updaterow();
				}
			},'-',{
				text:'删除',
				iconCls:'icon-remove',
				handler:function(){
					deleterow();
				}
			}],
			onLoadSuccess:function(){
				$('#gridTable').datagrid('clearSelections'); //一定要加上这一句，要不然datagrid会记住之前的选择状态，删除时会出问题
			},
			onDblClickRow:function(rowIndex,rowData){ //双击事件
				openDetail(rowData.caseNo);
			}
		});		
		
		///填充查询条件中的部门列表
		$("#qOutDept").combobox({
			valueField:'idBgt', //值字段
		    textField:'deptName', //显示的字段
		    url:'${ctx}/common/queryAllDept.con?flag=t',
		    panelHeight:'auto',
			editable:false,//不可编辑，只能选择
			onSelect:function(record){
		    	//清空出警人员列表
		    	$("#qOutPerson").combobox('setValue','');
		    	//当选择时触发,重新根据部门查询警员
		    	$("#qOutPerson").combobox('reload','${ctx}/common/queryDeptPerson.con?deptId='+record.idBgt);
			}
		});
		
		//填充查询条件中的警员列表
		$("#qOutPerson").combobox({
			valueField:'idBgt', //值字段
		    textField:'personName', //显示的字段
		    panelHeight:'auto',
			editable:false,//不可编辑，只能选择
			data:[{idBgt:'',cityCn:'请选择部门'}]
		 });
		
		
	});
    function curDateTime() { 
	   var d = new Date(); 
	   var year = d.getFullYear(); 
	   var month = d.getMonth() + 1; 
	   var date = d.getDate(); 
	   var day = d.getDay(); 
	   var curDateTime = year; 
	   if (month > 9) 
	    curDateTime = curDateTime +'-'+ month; 
	   else 
	    curDateTime = curDateTime +'-'+ "0" + month; 
	   if (date > 9) 
	    curDateTime = curDateTime +'-'+ date; 
	   else 
	    curDateTime = curDateTime +'-'+ "0" + date; 
	   curDateTime = curDateTime + " "+d.toLocaleTimeString();
	   
	   return curDateTime;
	} 

    
    /** 新增 */
    function addrow(){
    	$("#MyPopWindow").window({
  			title:'受理新案件',
  			href:'${ctx}/pages/case/case_win.jsp',
  			width:600,
  			height:500,
  			onLoad: function(){
  				///填充查询条件中的国部门列表
				$("#outDept").combobox({
					valueField:'idBgt', //值字段
				    textField:'deptName', //显示的字段
				    url:'${ctx}/common/queryAllDept.con?flag=t',
				    panelHeight:'auto',
					editable:false,//不可编辑，只能选择
					onSelect:function(record){//当选择时触发,重新根据部门查询警员
				    	$("#outPerson").combobox('reload','${ctx}/common/queryDeptPerson.con?deptId='+record.idBgt);
					}
				});
				
				//填充查询条件中的警员列表
				$("#outPerson").combobox({
					valueField:'idBgt', //值字段
				    textField:'personName', //显示的字段
				    panelHeight:'auto',
					editable:false,//不可编辑，只能选择
					data:[{idBgt:'',cityCn:'请选择部门'}]
				 });
				
  				$("#alarmDateString").val(curDateTime());
  			}
  			
  		});
	}
    /** 更新 */
    function updaterow(){
		var rows = $('#gridTable').datagrid('getSelections');//json：[{},{}]
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示','请选择你要更新的案件','info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示','只能选择一个案件进行更新','info');
			return;
		}
		$("#MyPopWindow").window({
  			title:'更新案件信息',
  			href:'${ctx}/pages/case/case_win.jsp?update=true',
  			width:600,
  			height:500,
  			onLoad: function(){
  				///填充查询条件中的国部门列表
				$("#outDept").combobox({
					valueField:'idBgt', //值字段
				    textField:'deptName', //显示的字段
				    url:'${ctx}/common/queryAllDept.con?flag=t',
				    panelHeight:'auto',
					editable:false,//不可编辑，只能选择
					onSelect:function(record){//当选择时触发,重新根据部门查询警员
				    	$("#outPerson").combobox('reload','${ctx}/common/queryDeptPerson.con?deptId='+record.idBgt);
					}
				});
				
  				if(rows[0].tamsDeptByOutDept){
					//填充查询条件中的警员列表
					$("#outPerson").combobox({
						valueField:'idBgt', //值字段
					    textField:'personName', //显示的字段
					    url:'${ctx}/common/queryDeptPerson.con?deptId='+rows[0].tamsDeptByOutDept.idBgt,
					    panelHeight:'auto',
						editable:false//不可编辑，只能选择
					 });
  				}else{
  					$("#outPerson").combobox({
						valueField:'idBgt', //值字段
					    textField:'personName', //显示的字段
					    panelHeight:'auto',
						editable:false,//不可编辑，只能选择
						data:[{cityId:'',cityCn:'请选择国家'}]
					 });
  				}
					
  				//自动将数据填充到表单中，无需再查询数据库
  				$("#caseForm").form('load', rows[0]);
  				$("#outDept").combobox('setValue',rows[0].tamsDeptByOutDept==null?'':rows[0].tamsDeptByOutDept.idBgt);
  				$("#outPerson").combobox('setValue',rows[0].tamsPersonByOutPerson==null?'':rows[0].tamsPersonByOutPerson.idBgt);
  				$("#alarmDateString").val(rows[0].alarmDate);
  				
  			}
  		});
	}
    
    /** 设置分类 */
    function openFenlei(){
    	var rows = $('#gridTable').datagrid('getSelections');//json：[{},{}]
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示','请选择你要分类的案件','info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示','只能选择一个案件进行分类操作','info');
			return;
		}
		$("#MyPopWindow").window({
  			title:'分类案件',
  			href:'${ctx}/pages/case/case_fenlei.jsp',
  			width:600,
  			height:200,
  			onLoad: function(){
  				//自动将数据填充到表单中，无需再查询数据库
  				$("#idBgt").val(rows[0].idBgt);
  				$("#caseNo").val(rows[0].caseNo);
  				$("#alarmDate").val(rows[0].alarmDate);
  				$("#dealType").combobox('setValue',0);
  				$("#checkType").combobox('setValue',2);
  			}
  		});
    }
    
     /** 设置分类 */
    function openLian(){
    	var rows = $('#gridTable').datagrid('getSelections');//json：[{},{}]
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示','请选择你要立案的案件','info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示','只能选择一个案件进行立案操作','info');
			return;
		}
		$("#MyPopWindow").window({
  			title:'分类案件',
  			href:'${ctx}/pages/case/case_lian.jsp',
  			width:600,
  			height:200,
  			onLoad: function(){
  				//自动将数据填充到表单中，无需再查询数据库
  				$("#caseForm").form('load', rows[0]);
  				
  				///查询重案人员
				$("#person").combobox({
					valueField:'idBgt', //值字段
				    textField:'personName', //显示的字段
				    url:'${ctx}/common/queryAllPerson.con',//这里查询实际上需要查询重案组的人员才得行
				    panelHeight:'auto',
					editable:false,//不可编辑，只能选择
					onSelect:function(record){				    	
						
				    }
				});
  			}
  		});
    }
  	
    /** 删除 */
  	function deleterow(){
    	var rows = $('#gridTable').datagrid('getSelections');
    	if(rows.length==0){
			$.messager.alert('提示',"请选择你要删除的案件",'info');
			return;
		}
  		$.messager.confirm('提示','删除此案件相关联的立案信息可能会受到影响，您确定要删除此案件信息吗？,',function(result){
	        if (result){
	        	var rows = $('#gridTable').datagrid('getSelections');
	        	var ps = "";
	        	$.each(rows,function(i,n){
	        		if(i==0) 
	        			ps += "?id="+n.idBgt
	        		else
	        			ps += "&id="+n.idBgt;
	        	});
	        	$.post('${ctx}/case/del.adm'+ps,function(data){
	        		if(data.success){//操作成功
						$.messager.alert('提示','操作成功','info');
	        			$('#gridTable').datagrid('reload');//刷新数据
					}else{
						$.messager.alert('提示',data.msg,'warning');	
					}
	        	});
	        }
	    });
  	}
    
   
    
    /** 表格查询 */
	function searchInfo(){
		var fields =$('#queryForm').serializeArray(); //自动序列化表单元素为JSON对象数据格式如下
		// [ 
		//     {name: 'firstname', value: 'Hello'}, 
		//     {name: 'lastname', value: 'World'},
		//     {name: 'alias'}, // this one was empty
  		// ]
		var params={};
		$.each( fields, function(i, field){//设置查询参数
			params[field.name] = field.value;
		});
		$('#gridTable').datagrid('reload',params); //设置好查询参数 reload 一下就可以了
	}
	/** 清空查询条件 */
	function clearForm(){
		$('#queryForm').form('clear');
	}
	
	/** 增加或更新 */
	function addOrUpdate(flag){
		var r = $('#caseForm').form('validate');
		if(!r) {
			return false;
		}
		var reg = /^\d{4}-(?:0\d|1[0-2])-(?:[0-2]\d|3[01])( (?:[01]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?$/gi;
		if(!reg.test($('#alarmDateString').val())){
			$.messager.alert('提示','报警时间格式错误','info');
			return false;
		}
		
		var url="${ctx}/case/add.adm";
		if(flag){
			url="${ctx}/case/update.adm";
		}
		$.post(url,$("#caseForm").serializeArray(),function(data){;
			if(data.success){//操作成功
				$.messager.alert('提示','操作成功','info');
				$('#gridTable').datagrid('reload');//刷新数据
				$('#MyPopWindow').window('close');//关闭窗口
			}else{
				$.messager.alert('提示',data.msg,'warning');	
			}
		});
	}
	
	/** 分类 */
	function fenlei(){
		if($('#dealType').combobox('getValue')=='0'){
			$.messager.alert('提示','请选择处理程序','warning');	
			return false;
		}
		$.post('${ctx}/case/fenLei.adm',$("#caseForm").serializeArray(),function(data){;
			if(data.success){//操作成功
				$.messager.alert('提示','操作成功','info');
				$('#gridTable').datagrid('reload');//刷新数据
				$('#MyPopWindow').window('close');//关闭窗口
			}else{
				$.messager.alert('提示',data.msg,'warning');	
			}
		});
		
	}
	
	/** 立案操作 */
	function lian(){
		if($('#person').combobox('getValue')==''){
			$.messager.alert('提示','请选择重案人员','warning');	
			return false;
		}
		$.post('${ctx}/case/register.adm',$("#caseForm").serializeArray(),function(data){;
			if(data.success){//操作成功
				$.messager.alert('提示','操作成功','info');
				//$('#gridTable').datagrid('reload');//刷新数据
				$('#MyPopWindow').window('close');//关闭窗口
			}else{
				$.messager.alert('提示',data.msg,'warning');	
			}
		});
	}
	
	
	/** 查询案件 */
	function queryCase(caseNo){
    	//案件基本信息
		$.post('${ctx}/case/detail.adm?caseNo='+caseNo,function(data){
			//填充数据
			$("#caseNo").val(data.caseNo);
			$("#alarmDate").val(data.alarmDate);
			$("#inDept").val(data.tamsDeptByInDept.deptName);
			$("#inPerson").val(data.tamsPersonByInPerson.personName);
			$("#outDept").val(data.tamsDeptByOutDept.deptName);
			$("#outPerson").val(data.tamsPersonByOutPerson.personName);
			$("#remark").val(data.remark);
			$("#caseContent").val(data.caseContent);
		});
	}
	
	/** 打开详情对话框 */
    function openDetail(caseNo){
		$("#MyPopWindow").window({
  			title:'案件出警及简情',
  			href:'${ctx}/pages/case/case_content.jsp',
  			width:600,
  			height:400,
  			onLoad: function(){
  				queryCase(caseNo);
  			}
  		});
	}
	
	</script>	
  </head>
  
  <body>
    <form id="queryForm" class="qform">
		<table class="qtable" width="100%">
			<tr>
				<td class="qtd">案件编号：<input name="caseNo" style="width: 100px;"></td>
				<td class="qtd">报警方式：<select class="easyui-combobox" name="alarmWay	" panelHeight="auto" style="width:100px;">
						<option value="">请选择</option>
						<option value="电话接入">电话接入</option>
						<option value="110导入">110导入</option>
					</select>
				</td>
				<td class="qtd">处理类型：<select class="easyui-combobox" name="dealType" panelHeight="auto" style="width:100px;">
						<option value="">请选择</option>
						<option value="${status.CASE_DEAL_NO}">暂未处理</option>
						<option value="${status.CASE_DEAL_COMMON}">一般程序</option>
						<option value="${status.CASE_DEAL_SIMPLE}">简易程序</option>
					</select>
				</td>
				
				<td class="qtd" align="center">
					<a href="#" onclick="clearForm();" class="easyui-linkbutton" iconCls="icon-no">清空</a>
				</td>
			</tr>
			<tr>
				<td class="qtd">审批状态：<select class="easyui-combobox" name="checkType" panelHeight="auto" style="width:100px;">
						<option value="">请选择</option>
						<option value="${status.CHECK_TYPE_NO}">尚未提交</option>
						<option value="${status.CHECK_TYPE_WAIT}">等待审批</option>
						<option value="${status.CHECK_TYPE_PASS}">审批通过</option>
						<option value="${status.CHECK_TYPE_REJECT}">审批拒绝</option>
					</select>
				</td>
				<td class="qtd">出警部门：<input name="outDept" id="qOutDept" style="width:100px;"></td>
				<td class="qtd">出警人员：<input name="outPerson" id="qOutPerson" style="width:100px;"></td>
				<td class="qtd" align="center">
					<a href="#" onclick="searchInfo();" class="easyui-linkbutton" iconCls="icon-search">查询</a>
				</td>
			</tr>
			<tr>
				<td class="qtd">报警时间：<input name="alarmBeginDate" style="width: 100px;" onclick="WdatePicker();">--<input name="alarmEndDate" style="width: 100px;" onclick="WdatePicker();"></td>
				<td class="qtd">报警人员：<input name="alarmName" style="width:100px;"></td>
				<td class="qtd">指定警员：<select class="easyui-combobox" name="isOutPerson" panelHeight="auto" style="width:100px;">
						<option value="-1">全部</option>
						<option value="${status.IS_FINISH_NO}" selected="selected">未指定</option>
						<option value="${status.IS_FINISH_YES}">已指定</option>
					</select>
				</td>
				<td class="qtd">&nbsp;</td>
			</tr>
		</table>
	</form>
	<div class="griddiv">
		<table id="gridTable"></table>
	</div>
	<div id="MyPopWindow" modal="true" shadow="false" minimizable="false" cache="false" maximizable="false" collapsible="false" resizable="false" style="margin: 0px;padding: 0px;overflow: auto;"></div>
	<div id="uploadWindow" style="margin: 0px;padding: 0px;overflow: auto;"></div>
  </body>
</html>
